home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-16 | 17.2 KB | 528 lines | [TEXT/MPS ] |
-
- /*
- * This file was generated by the SOM Compiler.
- * FileName: SLBufSin.xih.
- * Generated using:
- * SOM Precompiler somipc: 2.18
- * SOM Emitter emitxih.dll: 2.33
- */
-
- /*
- *
- * File: SLBufSin.idl
- *
- * Contains: Interface for abstract random access sink class
- *
- * Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- *
- */
-
-
- #ifndef SOM_FW_OBufferedSink_xih
- #define SOM_FW_OBufferedSink_xih
-
- #include <somcls.xh>
- #include <somcm.xh>
-
- /*
- * Passthru lines: File: "C.xih", "before"
- */
-
-
- #ifndef SOM_FW_OBufferedSink_xh
- #include <SLBufSin.xh>
- #endif
-
- /*
- * Set the scope of methods functions
- */
- #ifndef SOM_Scope
- #define SOM_Scope extern "C"
- #endif
-
- #define FW_OBufferedSink_MaxNoMethods 3
-
- /*
- * -- Instance Data
- */
-
- /*
- * -- Use best possible alignment for instance data slice.
- */
- #if PRAGMA_ALIGN_SUPPORTED
- # pragma options align=power
- #endif
- typedef struct FW_OBufferedSinkData {
- FW_ORandomAccessSink* fWrappedSink;
- char* fBuffer;
- long fCapacity;
- long fInitialPosition;
- long fValidBytes;
- long fBytesWritten;
- long fType;
- } FW_OBufferedSinkData;
- #if PRAGMA_ALIGN_SUPPORTED
- # pragma options align=reset
- #endif
-
- /*
- * -- Getdata Macro
- */
-
- /*
- * -- This emitter treats Data Tokens as Thunks by default.
- * -- Use the sc modifier "nothunks" to override this default.
- */
- SOMEXTERN typedef FW_OBufferedSinkData* (* SOMLINK somTD_FW_OBufferedSink_DataThunk)(void*);
- #define FW_OBufferedSinkGetData(somSelf) \
- (((somTD_FW_OBufferedSink_DataThunk)(FW_OBufferedSinkClassData.instanceDataToken))(somSelf))
-
- /*
- * -- Instance Data Access Macros for use in Method Procedures
- */
- #ifdef VARIABLE_MACROS
- #define _fWrappedSink (somThis->fWrappedSink)
- #define _fBuffer (somThis->fBuffer)
- #define _fCapacity (somThis->fCapacity)
- #define _fInitialPosition (somThis->fInitialPosition)
- #define _fValidBytes (somThis->fValidBytes)
- #define _fBytesWritten (somThis->fBytesWritten)
- #define _fType (somThis->fType)
- #endif
-
-
- /*
- * Trace/Debug macro
- */
- #ifndef FW_OBufferedSinkMethodDebug
- #define FW_OBufferedSinkMethodDebug(c,m) SOMMethodDebug(c,m)
- #endif
-
- /*
- * -- Method Macros for use in Method Procedures
- */
- #ifdef METHOD_MACROS
- #define _GetLength somSelf->GetLength
- #define _SetLength somSelf->SetLength
- #define _GetPosition somSelf->GetPosition
- #define _SetPosition somSelf->SetPosition
- #define _GetReadableBytes somSelf->GetReadableBytes
- #define _GetReadableBytes somSelf->GetReadableBytes
- #define _Read somSelf->Read
- #define _GetWritableBytes somSelf->GetWritableBytes
- #define _Write somSelf->Write
- #define _somInit somSelf->somInit
- #define _somUninit somSelf->somUninit
- #define _somInit somSelf->somInit
- #define _somUninit somSelf->somUninit
- #define _somDuplicateReference somSelf->somDuplicateReference
- #define _somCompareReference somSelf->somCompareReference
- #define _somRelease somSelf->somRelease
- #define _somFree somSelf->somFree
- #define _somCanDelete somSelf->somCanDelete
- #define _somGetClass somSelf->somGetClass
- #define _somGetClassName somSelf->somGetClassName
- #define _somGetSize somSelf->somGetSize
- #define _somIsA somSelf->somIsA
- #define _somRespondsTo somSelf->somRespondsTo
- #define _somIsInstanceOf somSelf->somIsInstanceOf
- #define _somDispatch somSelf->somDispatch
- #define _somClassDispatch somSelf->somClassDispatch
- #define _somCastObj somSelf->somCastObj
- #define _somResetObj somSelf->somResetObj
- #define _somPrintSelf somSelf->somPrintSelf
- #define _somDumpSelf somSelf->somDumpSelf
- #define _somDumpSelfInt somSelf->somDumpSelfInt
- #define _InitFromSink somSelf->InitFromSink
- #define _GetORandomAccessSink somSelf->GetORandomAccessSink
- #define _Flush somSelf->Flush
- #define _somInit somSelf->somInit
- #define _somUninit somSelf->somUninit
- #define _GetReadableBytes somSelf->GetReadableBytes
- #define _Read somSelf->Read
- #define _GetWritableBytes somSelf->GetWritableBytes
- #define _Write somSelf->Write
- #define _GetLength somSelf->GetLength
- #define _SetLength somSelf->SetLength
- #define _GetPosition somSelf->GetPosition
- #define _SetPosition somSelf->SetPosition
- #endif
-
-
- /*
- * Introduced methods
- */
-
- /* New Method: InitFromSink */
- SOM_Scope void SOMLINK FW_OBufferedSink__InitFromSink(FW_OBufferedSink *somSelf, Environment *ev,
- FW_ORandomAccessSink* aSink,
- long bufferCapacity);
-
- /* New Method: GetORandomAccessSink */
- SOM_Scope FW_ORandomAccessSink* SOMLINK FW_OBufferedSink__GetORandomAccessSink(FW_OBufferedSink *somSelf, Environment *ev);
-
- /* New Method: Flush */
- SOM_Scope void SOMLINK FW_OBufferedSink__Flush(FW_OBufferedSink *somSelf, Environment *ev);
-
- /*
- * Overridden methods
- */
-
- /* Overridden method: somInit */
- SOM_Scope void SOMLINK FW_OBufferedSink__somInit(FW_OBufferedSink *somSelf);
- SOMEXTERN typedef void (* SOMLINK somTD_xih_FW_OBufferedSink_somInit)(FW_OBufferedSink *somSelf);
- inline void SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_somInit(FW_OBufferedSink *somSelf)
- {
- (void) (somSelf);
- }
- #define FW_OBufferedSink_parents_somInit(arg0) \
- (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_somInit(arg0)
-
- /* Overridden method: somUninit */
- SOM_Scope void SOMLINK FW_OBufferedSink__somUninit(FW_OBufferedSink *somSelf);
- SOMEXTERN typedef void (* SOMLINK somTD_xih_FW_OBufferedSink_somUninit)(FW_OBufferedSink *somSelf);
- inline void SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_somUninit(FW_OBufferedSink *somSelf)
- {
- (void) (somSelf);
- }
- #define FW_OBufferedSink_parents_somUninit(arg0) \
- (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_somUninit(arg0)
-
- /* Overridden method: GetReadableBytes */
- SOM_Scope long SOMLINK FW_OBufferedSink__GetReadableBytes(FW_OBufferedSink *somSelf, Environment *ev);
- SOMEXTERN typedef long (* SOMLINK somTD_xih_FW_OBufferedSink_GetReadableBytes)(FW_OBufferedSink *somSelf, Environment *ev);
- inline long SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_GetReadableBytes(FW_OBufferedSink *somSelf, Environment *ev)
- {
- #ifdef SOMCHKEXCEPT
- long __somRetVal = ((somTD_xih_FW_OBufferedSink_GetReadableBytes)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.GetReadableBytes))
- (somSelf,ev);
- SOMCHKEXCEPT;
- return __somRetVal;
- #else
- return ((somTD_xih_FW_OBufferedSink_GetReadableBytes)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.GetReadableBytes))
- (somSelf,ev);
- #endif
- }
- #define FW_OBufferedSink_parents_GetReadableBytes(arg0,arg1) \
- (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_GetReadableBytes(arg0,arg1)
-
- /* Overridden method: Read */
- SOM_Scope void SOMLINK FW_OBufferedSink__Read(FW_OBufferedSink *somSelf, Environment *ev,
- void* destination,
- long count);
- SOMEXTERN typedef void (* SOMLINK somTD_xih_FW_OBufferedSink_Read)(FW_OBufferedSink *somSelf, Environment *ev,
- void* destination,
- long count);
- inline void SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_Read(FW_OBufferedSink *somSelf, Environment *ev,
- void* destination,
- long count)
- {
- ((somTD_xih_FW_OBufferedSink_Read)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.Read))
- (somSelf,ev,destination,count);
- #ifdef SOMCHKEXCEPT
- SOMCHKEXCEPT;
- #endif
- }
- #define FW_OBufferedSink_parents_Read(arg0,arg1,arg2,arg3) \
- (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_Read(arg0,arg1,arg2,arg3)
-
- /* Overridden method: GetWritableBytes */
- SOM_Scope long SOMLINK FW_OBufferedSink__GetWritableBytes(FW_OBufferedSink *somSelf, Environment *ev);
- SOMEXTERN typedef long (* SOMLINK somTD_xih_FW_OBufferedSink_GetWritableBytes)(FW_OBufferedSink *somSelf, Environment *ev);
- inline long SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_GetWritableBytes(FW_OBufferedSink *somSelf, Environment *ev)
- {
- #ifdef SOMCHKEXCEPT
- long __somRetVal = ((somTD_xih_FW_OBufferedSink_GetWritableBytes)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.GetWritableBytes))
- (somSelf,ev);
- SOMCHKEXCEPT;
- return __somRetVal;
- #else
- return ((somTD_xih_FW_OBufferedSink_GetWritableBytes)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.GetWritableBytes))
- (somSelf,ev);
- #endif
- }
- #define FW_OBufferedSink_parents_GetWritableBytes(arg0,arg1) \
- (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_GetWritableBytes(arg0,arg1)
-
- /* Overridden method: Write */
- SOM_Scope void SOMLINK FW_OBufferedSink__Write(FW_OBufferedSink *somSelf, Environment *ev,
- void* source,
- long count);
- SOMEXTERN typedef void (* SOMLINK somTD_xih_FW_OBufferedSink_Write)(FW_OBufferedSink *somSelf, Environment *ev,
- void* source,
- long count);
- inline void SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_Write(FW_OBufferedSink *somSelf, Environment *ev,
- void* source,
- long count)
- {
- ((somTD_xih_FW_OBufferedSink_Write)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_OSinkClassData.Write))
- (somSelf,ev,source,count);
- #ifdef SOMCHKEXCEPT
- SOMCHKEXCEPT;
- #endif
- }
- #define FW_OBufferedSink_parents_Write(arg0,arg1,arg2,arg3) \
- (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_Write(arg0,arg1,arg2,arg3)
-
- /* Overridden method: GetLength */
- SOM_Scope long SOMLINK FW_OBufferedSink__GetLength(FW_OBufferedSink *somSelf, Environment *ev);
- SOMEXTERN typedef long (* SOMLINK somTD_xih_FW_OBufferedSink_GetLength)(FW_OBufferedSink *somSelf, Environment *ev);
- inline long SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_GetLength(FW_OBufferedSink *somSelf, Environment *ev)
- {
- #ifdef SOMCHKEXCEPT
- long __somRetVal = ((somTD_xih_FW_OBufferedSink_GetLength)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.GetLength))
- (somSelf,ev);
- SOMCHKEXCEPT;
- return __somRetVal;
- #else
- return ((somTD_xih_FW_OBufferedSink_GetLength)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.GetLength))
- (somSelf,ev);
- #endif
- }
- #define FW_OBufferedSink_parents_GetLength(arg0,arg1) \
- (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_GetLength(arg0,arg1)
-
- /* Overridden method: SetLength */
- SOM_Scope void SOMLINK FW_OBufferedSink__SetLength(FW_OBufferedSink *somSelf, Environment *ev,
- long length);
- SOMEXTERN typedef void (* SOMLINK somTD_xih_FW_OBufferedSink_SetLength)(FW_OBufferedSink *somSelf, Environment *ev,
- long length);
- inline void SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_SetLength(FW_OBufferedSink *somSelf, Environment *ev,
- long length)
- {
- ((somTD_xih_FW_OBufferedSink_SetLength)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.SetLength))
- (somSelf,ev,length);
- #ifdef SOMCHKEXCEPT
- SOMCHKEXCEPT;
- #endif
- }
- #define FW_OBufferedSink_parents_SetLength(arg0,arg1,arg2) \
- (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_SetLength(arg0,arg1,arg2)
-
- /* Overridden method: GetPosition */
- SOM_Scope long SOMLINK FW_OBufferedSink__GetPosition(FW_OBufferedSink *somSelf, Environment *ev);
- SOMEXTERN typedef long (* SOMLINK somTD_xih_FW_OBufferedSink_GetPosition)(FW_OBufferedSink *somSelf, Environment *ev);
- inline long SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_GetPosition(FW_OBufferedSink *somSelf, Environment *ev)
- {
- #ifdef SOMCHKEXCEPT
- long __somRetVal = ((somTD_xih_FW_OBufferedSink_GetPosition)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.GetPosition))
- (somSelf,ev);
- SOMCHKEXCEPT;
- return __somRetVal;
- #else
- return ((somTD_xih_FW_OBufferedSink_GetPosition)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.GetPosition))
- (somSelf,ev);
- #endif
- }
- #define FW_OBufferedSink_parents_GetPosition(arg0,arg1) \
- (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_GetPosition(arg0,arg1)
-
- /* Overridden method: SetPosition */
- SOM_Scope void SOMLINK FW_OBufferedSink__SetPosition(FW_OBufferedSink *somSelf, Environment *ev,
- long position);
- SOMEXTERN typedef void (* SOMLINK somTD_xih_FW_OBufferedSink_SetPosition)(FW_OBufferedSink *somSelf, Environment *ev,
- long position);
- inline void SOMLINK FW_OBufferedSink_parent_FW_ORandomAccessSink_SetPosition(FW_OBufferedSink *somSelf, Environment *ev,
- long position)
- {
- ((somTD_xih_FW_OBufferedSink_SetPosition)
- somParentNumResolve((somClassDataStructure*)&FW_OBufferedSinkClassData, 1, FW_ORandomAccessSinkClassData.SetPosition))
- (somSelf,ev,position);
- #ifdef SOMCHKEXCEPT
- SOMCHKEXCEPT;
- #endif
- }
- #define FW_OBufferedSink_parents_SetPosition(arg0,arg1,arg2) \
- (void) FW_OBufferedSink_parent_FW_ORandomAccessSink_SetPosition(arg0,arg1,arg2)
-
- /*
- * -- Primary Implementation File Support
- */
- #if (defined(FW_OBufferedSink_Class_Source) || defined(SOM_Module_slbufsin_Source))
-
- /*
- * -- The FW_OBufferedSink ClassData Structure
- */
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma export list FW_OBufferedSinkClassData
- #endif
-
-
- /*
- * -- The FW_OBufferedSink Class Ancestor Table
- */
- static somClassDataStructure * SOMDLINK FW_OBufferedSinkClassAncestors [] = {
- (somClassDataStructure*) & FW_ORandomAccessSinkClassData, /* parent */
- (somClassDataStructure*) & SOMObjectClassData, /* ancestor */
- (somClassDataStructure*) & FW_OSinkClassData, /* ancestor */
- };
-
-
- /*
- * -- The FW_OBufferedSink Override ProcPtr Implementations Table
- */
- static somMethodPtr FW_OBufferedSinkOverrideProcs [] = {
- (somMethodPtr) FW_OBufferedSink__GetLength, /* override class FW_ORandomAccessSink */
- (somMethodPtr) FW_OBufferedSink__SetLength, /* override class FW_ORandomAccessSink */
- (somMethodPtr) FW_OBufferedSink__GetPosition, /* override class FW_ORandomAccessSink */
- (somMethodPtr) FW_OBufferedSink__SetPosition, /* override class FW_ORandomAccessSink */
- (somMethodPtr) FW_OBufferedSink__somInit, /* override class SOMObject */
- (somMethodPtr) FW_OBufferedSink__somUninit, /* override class SOMObject */
- (somMethodPtr) FW_OBufferedSink__GetReadableBytes, /* override class FW_OSink */
- (somMethodPtr) FW_OBufferedSink__Read, /* override class FW_OSink */
- (somMethodPtr) FW_OBufferedSink__GetWritableBytes, /* override class FW_OSink */
- (somMethodPtr) FW_OBufferedSink__Write, /* override class FW_OSink */
- };
-
-
- static void FW_OBufferedSinkDLLD ( void ) { }
-
-
- /*
- * -- The FW_OBufferedSink Static Class Info Master Table
- */
- static somStaticClassInfo FW_OBufferedSinkSCI = {
- 70, /* layout version */
- (somClassDataStructure*) & FW_OBufferedSinkClassData, /* main token table */
- FW_OBufferedSinkOverrideProcs, /* override proc implemenations table */
- FW_OBufferedSinkClassAncestors, /* ancestor table */
- FW_OBufferedSinkDLLD, /* DLLdesignator */
- 0, /* no special procs */
- 0, /* rtci slot */
- 0, /* count slot */
- 0, /* dynamic ancestry */
- 0, /* free */
- 0, /* free */
- 0, /* free */
- 0, /* free */
-
- /*
- * -- The FW_OBufferedSink Counts Table
- */
- (somStaticClassCounts *)
- "\x00\x00\x00\x01" /* majorversion */
- "\x00\x00\x00\x00" /* minorversion */
- "\x00\x00\x00\x01" /* flags */
- "\x00\x02" /* type code alignment */
- "\x00\x03" /* classTokenCount */
- "\x00\x01" /* numDirectParents */
- "\x00\x00" /* numMetaClasses */
- "\x00\x03" /* numOverriddenAncestors */
- "\x00\x00" /* numMigratedMethods */
- "\x00\x00" /* numSelectedInherited */
- "\x00\x00" /* numUnused */
- "\x00\x00" /* free */
- "\x00\x00" /* free */
- "\x00\x00" /* free */
- "\x00" /* free */
- ,
-
- {
- "FW_OBufferedSink", /* the class name */
- sizeof (FW_OBufferedSinkData), /* class instance data size */
-
- /*
- * -- The FW_OBufferedSink Parent Versions Table
- */
- (somParentVersions *)
- "\x00\x00\x00\x01" /* majorversion */
- "\x00\x00\x00\x00" /* minorversion */
- ,
-
-
- /*
- * -- The FW_OBufferedSink Token Slot Usage Table
- */
- (somSlotUsage *)
- "\x00",
-
-
- /*
- * -- The FW_OBufferedSink Method Signature Info
- */
- (somSignatureInfo *)
- "\x04\x07" /* InitFromSink */
- "\x02\x0c" /* GetORandomAccessSink */
- "\x02\x07" /* Flush */
- ,
-
-
- /*
- * -- The FW_OBufferedSink Class Method Names
- */
- "InitFromSink\0"
- "GetORandomAccessSink\0"
- "Flush\0"
- ,
-
-
- /*
- * -- The FW_OBufferedSink Override Slots Table
- */
- (somOverrideData *)
- "\x00\x00\x00\x04" /* parent FW_ORandomAccessSink has 4 overrides */
- "\x00\x00" /* GetLength */
- "\x00\x01" /* SetLength */
- "\x00\x02" /* GetPosition */
- "\x00\x03" /* SetPosition */
- "\x00\x01\x00\x02" /* parent SOMObject has 2 overrides */
- "\x00\x00" /* somInit */
- "\x00\x01" /* somUninit */
- "\x00\x02\x00\x04" /* parent FW_OSink has 4 overrides */
- "\x00\x02" /* GetReadableBytes */
- "\x00\x03" /* Read */
- "\x00\x04" /* GetWritableBytes */
- "\x00\x05" /* Write */
- ,
-
- 0, /* no migrated methods table */
- 0, /* no selected inherited */
- 0, /* unused */
-
- 0, /* free */
- 0, /* free */
- 0, /* free */
- 0, /* free */
- },
- };
-
- /*
- * -- The FW_OBufferedSink ClassData Structure
- */
- struct FW_OBufferedSinkClassDataStructure SOMDLINK FW_OBufferedSinkClassData = {
- 0, /* zero */
- & FW_OBufferedSinkSCI, /* SCI link */
- 0, /* instanceDataToken */
- 0, /* reserved */
- 0, /* reserved */
- 0, /* reserved */
- (somMToken) FW_OBufferedSink__InitFromSink, /* InitFromSink:method */
- (somMToken) FW_OBufferedSink__GetORandomAccessSink, /* GetORandomAccessSink:method */
- (somMToken) FW_OBufferedSink__Flush, /* Flush:method */
- };
-
-
- /*
- * Functions for attributes.
- */
-
- /*
- * Macros for initializers/destructors
- */
-
- #endif /* Primary Implementation Support */
-
- #endif /* SOM_FW_OBufferedSink_xih */
-